package facilius.controller.action.instituicao;

import facilius.model.ServiceLocator;
import facilius.model.pojo.Cidade;
import facilius.model.pojo.Instituicao;
import java.util.HashMap;
import java.util.Map;
import org.mentawai.core.BaseAction;

/**
 *
 * @author Graciano
 */
public class InstituicaoShowFormAction extends BaseAction {

    @Override
    public String execute() throws Exception {
        String consequence = ERROR;
        this.preload();
        String formAction = "InstituicaoCreate.mtw";
        try {
            Long id = input.getLong("id");
            if (id != null && id > 0) {
                Instituicao instituicao = ServiceLocator.getInstituicaoService().readById(id);
                output.setValue("bairro", instituicao.getBairro());
                Cidade cidade = instituicao.getCidade();
                if (cidade != null)
                    output.setValue("cidadeId", instituicao.getCidade().getId());
                output.setValue("email", instituicao.getEmail());
                output.setValue("endereco", instituicao.getEndereco());
                output.setValue("id", instituicao.getId());
                output.setValue("logo", instituicao.getLogo());
                output.setValue("nome", instituicao.getNome());
                output.setValue("numero", instituicao.getNumero());
                output.setValue("telefone1", instituicao.getTelefone1());
                output.setValue("telefone2", instituicao.getTelefone2());
                formAction = "InstituicaoUpdate.mtw";
            }
            consequence = SUCCESS;
            output.setValue("formAction", formAction);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return consequence;
    }

    public void preload() throws Exception {
        Map<String, Object> criteria = new HashMap<String, Object>();
        Map<String, String> options = ServiceLocator.getCidadeService().getOptions(criteria);
        output.setValue("cidadeOptions", options);
    }
}
